home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / LK_V1.06.LHA / LK V1.06 / HELP / bugs.hlp < prev    next >
Encoding:
INI File  |  1994-11-01  |  5.4 KB  |  140 lines

  1. [LANGUAGE english; PARENT index; PAGE 5]
  2. [C;6;B]        Frequently Asked Questions ... and answers!
  3.         And the known bugs
  4. [J;1;N]
  5.   Note: at anytime, if you think there is a problem you may make a first \
  6. check using the WARNING instruction. This way you may discover a lot \
  7. of strange things...
  8. [C;3][LINK warning]        WARNING
  9. [J;1]
  10.  
  11. [5]  It says lk was compatible to Slink and DICE, but I checked \
  12. once without success!
  13. [1]
  14.     lk has been build to replace any linker (other linker object \
  15. files and documentations are welcome...) For this reason you need \
  16. a preferences file to ensure one mode or another. This is \
  17. available into 'LK:PREFS/' directory. You can simply rename \
  18. (or copy) the needed file into: 'lk.prefs' and run your \
  19. link again. Usuly the file 'lk.prefs' remains in 'LK:PREFS/' \
  20. directory, but you may move that file into the directory \
  21. from which you link.
  22.     Please refer to the specific linker for more detailed \
  23. informations.
  24.  
  25.  
  26. [5]  My file is bigger with SD (or SC) !
  27. [1]
  28.     This may happend. The best way to make the smallest file than \
  29. you can is not always to use SD. Some files will be smaller with only \
  30. XDATA. lk is able to suppress zeroes at the end of each data hunk, \
  31. but SMALLDATA force all hunks to be linked one after another. This \
  32. means zeroes will be suppressed only in the last data hunk.
  33.     The best way to know the best solution is to check each one.
  34.  
  35.  
  36. [5]  My resident crash or does not run properly:
  37. [1]
  38.     You probably forgot to use the PURE flag. This flag will force \
  39. lk to generate a table of relocation offset for the near data hunk. \
  40. That table is saved at the end of the hunk (Note that it usuly \
  41. starts where the BSS was.)
  42.     This table is needed if you use SAS/C 'cres.o' object file.
  43.     Because of this table, link an executable file with any option \
  44. which change the data hunk organization may generate an invalid \
  45. program.
  46.  
  47.  
  48. [5]  The command line generates errors:
  49. [1]
  50.     The command line is not completly compatible to any other \
  51. linker. This would be hard to do so while each of them has a \
  52. specific way to do that. Then please, refer to the documentation \
  53. if you have any particuliar problem.
  54.     For instance Slink enable you to use any number of FROM or \
  55. ROOT instructions. On my side I create a warning and files \
  56. following the second FROM or ROOT will not be part of the link.
  57.  
  58.  
  59. [5]  Automatic file type:
  60. [1]
  61.     If you use the AUTOLIBRARY flag you should avoid the \
  62. LIBRARY (and also LIB/-l) instruction. This will ensure you that \
  63. the libraries are used in the given order.
  64.  
  65.  
  66. [5]  The near data hunk:
  67. [1]
  68.     Because lk tries to make its best in order to produce the \
  69. smallest possible executable, the near data hunks may not be \
  70. ordered like you thought. This is not a problem if you do not \
  71. have to care about the DATA hunks order. This is the case most \
  72. of the time.
  73.  
  74.  
  75. [5]  Strange things happend when I installed QuickDOS!
  76. [1]
  77.     This is possible. QuickDOS is used by lk in a special way \
  78. which some times generates some kind of problems. Those might \
  79. be a misfunction of patterns, or the impossibility to load the \
  80. same file twice (which should not be useful.) Usuly this can \
  81. simply be avoid with the use of QDSTOP keyword:
  82. [C;3][LINK qdstop]        QDSTOP
  83. [J;1]
  84.  
  85. [5]  Compatibility with DICE 2.06.35
  86. [1]
  87.     The option '-frag' of dice will not split the autoinit and \
  88. autoexit hunks. lk does not actually do that, it really split \
  89. every hunks.
  90.     The NOEMPTYHUNK option will generate a wrong output file \
  91. when you link with DICE object files. Those uses initilisation \
  92. and exit code in a very special way and emptyhunks are \
  93. necessary for that purpose (Note that no empty hunk is \
  94. generated into the output file however.)
  95.  
  96.  
  97. [5]  Compatibility with Slink of SAS any version
  98. [1]
  99.     You may find some instructions which differ from Slink. All \
  100. functions from Slink are available but all cannot be used the \
  101. same way. There is a brief list:
  102. [L;3][LINK chip]        CHIP
  103. [LINK define]            DEFINE
  104. [LINK fast]            FAST
  105. [LINK map]            MAP
  106. [LINK hunk]            MAXHUNK
  107. [LINK nodebug]            NODEBUG (Use STRIPDEBUG instead)
  108. [LINK overlay]            OVERLAY/END
  109. [LINK createlibrary]        PRELINK
  110. [LINK quiet]            QUIET
  111. [LINK xref]            XREF
  112. [J;1]
  113.     The overlays of lk are very specific to it-self and \
  114. are for sure a lot more viable. If you had some overlaid \
  115. executables, you may have some good suprises...
  116.  
  117.     If you created your own startup file, you will probably \
  118. have some trouble if you use the default preferences files \
  119. 'slink.prefs'. This is due to the set-up available in that \
  120. preferences file, it suppose that you use the default 'c.o' \
  121. or another default SAS startup. Thank you to refer you to \
  122. each instruction present into that preference file to \
  123. see which are and which are not correct with your own \
  124. startup file.
  125.  
  126.  
  127. [5]  Compatibility Blink/Slink with SAS 4.xx
  128. [1]
  129.     I know, because I worked out on that particular point, \
  130. that lk may include the DATA long word '_DOSBase' within the \
  131. BSS hunk. This means it will be cleared by the little loop \
  132. which reset the BSS hunk. To be sure to avoid that bug \
  133. you may clear the BSS hunk at the beginning of your 'c.a' \
  134. file, before to open dos.library (like DICE does) or put another \
  135. value than zero inside the DOSBase variable (which is an ugly \
  136. technic) to be sure it will not be part of the BSS hunk.
  137.     This can happend because lk, to create XDATA hunks, does \
  138. not take care of DATA/BSS hunks but check the end of the \
  139. final hunks and check back cleared longs.
  140.